The Transmission Control Protocol (TCP) is a core protocol used in communication networks. It allows data exchange between an application at one host and an application at another host. A limitation of TCP is that although hosts are often connected to one another by multiple paths, TCP restricts communications to a single path for each transport connection. In order to more efficiently use resources within a network, Multipath TCP (MPTCP) is under development, as described in Ford et al, “TCP Extension for Multipath Operation with Multiple Address,” draft-ford-mptcp-multiaddressed-03 (Experimental), March 2010 and Ford et al, “Architectural Guidelines for Multipath TCP Development”, draft-ietf-mptcp-architecture-00 (Informational), February 2010.
Using MPTCP, hosts that have access to multiple paths can use these for a given TCP connection to exchange data. The simultaneous use of multiple paths for a TCP/IP session improves resource usage within the network, and therefore improves user experience through higher throughput and improved resilience to network failure.
Increasingly, host mobility is commonly required by endpoints. The movement of a host causes a reduction in TCP performance. There are several protocols which have been proposed for handling host mobility management, including Mobile IP (MIP), as described in Johnson et al, “Mobility Support in IPv6”, RFC 3775, June 2004, and Host Identity Protocol, as described in Moskowitz et al, “Host Identity Protocol”, RFC 5201, April 2008. Most IP protocols that do not provide for host mobility management use an IP address to identify not only the host, but also the topological location of the host. MIP on the other hand separates the host ID and Location using a Home Address (HoA) and a Care of Address (CoA). Host mobility problem is managed by mapping the CoA (which can change as the host moves) to the HoA (which is a permanently or semi-permanently assigned address for the host in its home network). Any applications used to communicate with the host use the HoA for data transmission. In the host's home network, a home agent is introduced for maintaining the mapping between the CoA and the HoA for the host. When a host roams in a foreign network, it registers with the home agent. The home agent captures all the packets sent to the host's HoA and forwards them to the host by tunnelling to the CoA. In this way, even though the host moves and receives a new CoA, the HoA remains the same for the duration of a session and the host can communicate with other hosts.
In a similar manner to MIP, HIP maintains a separate host identity and location information for each mobile node (MN). The Host Identity (HI) name space is to identify the host identity, while the location information, i.e. IP address is used for the purpose of routing. A Rendezvous server (RVS) is provided to maintain a mapping between the HI name space and the current IP address for the MN. The host name, HI, and RVS address are maintained by a Domain Name System (DNS) Server. When another host initiates a connection towards the MN, it first resolves the HI and RVS address, and then sends initialization packets to the RVS. The RVS is responsible for forwarding the packets to MN. If the MN moves, it receives a new IP address and communicates with the RVS to ensure that the RVS has the updated IP address.
MIP and HIP provide solutions for host mobility management, but have shortcomings if a host wishes to use the MPTCP protocol. A problem with MIP is that only one HoA is introduced into the transport layer, whereas MPTCP requires multiple IP addresses to identify each path used for each MPTCP sub-flow. As MIP only assigns one HoA, it cannot support MPTCP.
A problem with HIP is that although it can support several simultaneous transport sessions, it can only do this for different flows. In other words, it could support a TCP connection between email applications for two hosts, and simultaneously support a further TCP connection between Internet applications for two hosts. However, it can not support splitting a TCP session between the email applications of two hosts to use multiple paths for the same TCP connection.
HIP and MIP can handle host mobility management, but they cannot handle host mobility management using MPTCP.